bitkeeper revision 1.1108.14.2 (4104d6a3pjdnDffuzgjAIWgWEDohww)
authormjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>
Mon, 26 Jul 2004 10:02:11 +0000 (10:02 +0000)
committermjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>
Mon, 26 Jul 2004 10:02:11 +0000 (10:02 +0000)
Fix console destroy and formatting in xm.

tools/python/xen/xend/XendDomainInfo.py
tools/python/xen/xm/main.py

index f2a866bea699fbc3ba9b153f33de4f48f0f18312..d855e8b005224f9d6787a4bb1c8d9f83bbd1a96c 100644 (file)
@@ -553,8 +553,11 @@ class XendDomainInfo:
         devices have been released.
         """
         if self.dom is None: return 0
-        if self.restart_state == STATE_RESTART_PENDING and self.console:
-            self.console.deregisterChannel()
+        if self.console:
+            if self.restart_pending():
+                self.console.deregisterChannel()
+            else:
+                self.console.close()
         chan = xend.getDomChannel(self.dom)
         if chan:
             log.debug("Closing channel to domain %d", self.dom)
index d929b9bd8d34e7fedd28be614a72982c9333d6f9..0e86572ed12a162ec04548229694e6620bdcbcae 100644 (file)
@@ -469,14 +469,19 @@ class ProgConsoles(Prog):
 
     def main(self, args):
         l = server.xend_consoles()
-        print "Dom Port  Id"
+        print "Dom Port  Id Connection"
         for x in l:
             info = server.xend_console(x)
             d = {}
-            d['dom'] = sxp.child(info, 'dst', ['dst', '?', '?'])[1]
-            d['port'] = sxp.child_value(info, 'port', '?')
+            d['dom'] = sxp.child(info, 'domain', '?')[1]
+            d['port'] = sxp.child_value(info, 'console_port', '?')
             d['id'] = sxp.child_value(info, 'id', '?')
-            print "%(dom)3s %(port)4s %(id)3s" % d
+            connected = sxp.child(info, 'connected')
+            if connected:
+                d['conn'] = '%s:%s' % (connected[1], connected[2])
+            else:
+                d['conn'] = ''
+            print "%(dom)3s %(port)4s %(id)3s %(conn)s" % d
 
 xm.prog(ProgConsoles)
 
@@ -496,7 +501,7 @@ class ProgConsole(Prog):
         console = sxp.child(info, "console")
         if not console:
             self.err("No console information")
-        port = sxp.child_value(console, "port")
+        port = sxp.child_value(console, "console_port")
         from xen.util import console_client
         console_client.connect("localhost", int(port))